package com.linetime.wechat.entity;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.linetime.wechat.enums.MenuTypeEnum;
import lombok.Data;

import java.util.List;

/**
 * 菜单按钮
 *
 * @author sangaizhi
 * @date 2018/9/25
 */
@Data
public class MenuButton {

    @JsonProperty("type")
    private String type;
    /**
     * 菜单上显示的文字按钮
     */
    @JsonProperty("name")
    private String name;

    /**
     * 区别type为click的菜单，在服务器接收到按钮点击消息时，可以根据该值区分是哪个菜单按钮
     */
    @JsonProperty("key")
    private String key;

    /**
     * 菜单跳转的URL， 不超过1024字节。
     * 当菜单类型为 {@link MenuTypeEnum#VIEW} 时，打开链接接
     * 当菜单类型为 {@link MenuTypeEnum#MINIPROGRAM}，不支持小程序的老版本客户端将打开本url
     */
    @JsonProperty("url")
    private String url;
    /**
     * 菜单显示的永久素材的Id, 当菜单按钮的类型为 {@link  MenuTypeEnum#MEDIA_ID} 或者 {@link MenuTypeEnum#VIEW_LIMITED} 时必须
     */
    @JsonProperty("media_id")
    private String mediaId;

    /**
     * 小程序Id，当菜单按钮的类型为 {@link MenuTypeEnum#MINIPROGRAM} 时必填
     */
    @JsonProperty("appid")
    private String appId;

    /**
     * 小程序跳转页面，当菜单按钮的类型为 {@link MenuTypeEnum#MINIPROGRAM} 时必填
     */
    @JsonProperty("pagepath")
    private String pagePath;

    /**
     * 子菜单（二级菜单）
     */
    @JsonProperty("sub_button")
    private List<MenuButton> subButton;




}
